package modules::victorina;

use module;
use vars '@ISA';
@ISA = ("module");
use DBI;
use encoding "utf8";
use utf8;
use Switch;
use modules::Victorina;

sub got_groupchat_victorina {
my ($pkg,%args) = @_;
my (@words_vi) = split(/ /,$args{body}); # тело сообщения
# $args{from} - jid конференции
# $args{resource} - ник отправителя 
# $args{jid} - jid конференции
# $args{tag} - message
# $args{type} - groupchat
# $args{other} - HASH(0x8aa9470)

#приводит первое слово ответа к нижнему регистру
$words_vi[0] = lc"$words_vi[0]";

utf8::decode($args{resource});
$tabl_schet = $args{from};
$tabl_schet =~ s/[@.]/_/g;

$конфа = $tabl_schet;
$данн_конф = \%$tabl_schet;
$глоб_конфа = $tabl_schet;

modules::Victorina::init();

if(!$$конфа) {$$конфа = modules::Victorina->new();}
print "Текущее количество объектов: ", $$конфа->gettotal, "\n"; # Дебаг!

$otvet_uch = join ' ', @words_vi;
$otvet_uch = lc"$otvet_uch";

$данн_конф->{admin_tools} = $$конфа->admin_tools(%args);

if ($данн_конф->{admin_tools}->{ctl_igry}==1) {

   $данн_конф->{init_victorina} = $$конфа->init_victorina;
   $данн_конф->{vybor_voprosa} = $$конфа->vybor_voprosa($tabl_schet,
                                                        $args{from});
   if ($данн_конф->{admin_tools}->{ctl_ozh} eq '') {$данн_конф->{admin_tools}->{ctl_ozh} = 10;}
print "Контрольный ответ: $данн_конф->{vybor_voprosa}->{ctl_otvet}\n"; # Дебаг!
   $данн_конф->{otvet_sovpal} = $$конфа->otvet_sovpal(
                                   $otvet_uch,
                                   $данн_конф->{vybor_voprosa}->{ctl_otvet},
                                   $args{resource},
                                   $args{from});
   switch ($words_vi[0]) {
         case "счет" { $$конфа->schet(%args);}
	 case "повтори" { $$конфа->povtor(
                                          $данн_конф->{vybor_voprosa}->{ctl_vopros},
                                          $args{from},
                                          $args{resource}
                                         );
                        }
         case "топ" { $$конфа->top($args{from});}
         else { $$конфа->podskazka(
                                   $данн_конф->{admin_tools}->{ctl_ozh},
                                   $args{from},
                                   $данн_конф->{vybor_voprosa}->{ctl_otvet});
              }
         }
}
}


main::pd("................\n\n\n");
1;